package sqls

import (
	"EasyData/global"
	"fmt"
	log "code.google.com/p/log4go"
)
/**
	根据配置格式化sql语句
 */
func SqlFormat(task *global.Task) string {
	var sql string
	if task.Delete {
		 sql =fmt.Sprintf("select * from %s where %s limit %v",
			task.Table, task.Condition,task.Limit)
	}else {
		sql = fmt.Sprintf("select * from %s where %s limit %v",
			task.Table, task.Condition,task.Limit)
	}
	log.Info("taskName [%s] taskCommand [%s] sql : [%s]",task.TaskName,task.TaskCommond,sql)
	return sql
}
/**
	将[]string类型的参数数组转化为[]interface{}
 */
func ParametersConvert(task *global.Task) []interface{} {
	if len(task.Parameter)==0{
		errStr := fmt.Sprintf("taskName [%s] taskCommand [%s] parameter is empty ; parameter: [%s] ",task.TaskName,task.TaskCommond,task.Parameter)
		log.Info(errStr)
		panic(errStr)
	}
	var params = make([]interface{},len(task.Parameter))
	for i := 0; i < len(task.Parameter); i++ {
		params[i] = task.Parameter[i]
	}
	log.Info("taskName [%s] taskCommand [%s] parameters: [%s]",task.TaskName,task.TaskCommond,params)
	return params
}